''' 
画笔控制

turtle.pen(pen=None, **pendict)
参数
  pen -- 一个包含部分或全部下列键的字典
  pendict -- 一个或多个以下列键为关键字的关键字参数
  返回或设置画笔的属性，以一个包含以下键值对的 "画笔字典" 表示:
    "shown": True/False
    "pendown": True/False
    "pencolor": 颜色字符串或颜色元组
    "fillcolor": 颜色字符串或颜色元组
    "pensize": 正数值
    "speed": 0..10 范围内的数值
    "resizemode": "auto" 或 "user" 或 "noresize"
    "stretchfactor": (正数值, 正数值)
    "outline": 正数值
    "tilt": 数值
    此字典可作为后续调用 pen() 时的参数，以恢复之前的画笔状态。另外还可将这些属性作为关键词参数提交。使用此方式可以用一条语句设置画笔的多个属性。
'''

''' 
颜色控制

turtle.pencolor(*args)
返回或设置画笔颜色。
允许以下四种输入格式:

  pencolor()
  返回以颜色描述字符串或元组 (见示例) 表示的当前画笔颜色。可用作其他 color/pencolor/fillcolor 调用的输入。

  pencolor(colorstring)
  设置画笔颜色为 colorstring 指定的 Tk 颜色描述字符串，例如 "red"、"yellow" 或 "#33cc8c"。

  pencolor((r, g, b))
  设置画笔颜色为以 r, g, b 元组表示的 RGB 颜色。r, g, b 的取值范围应为 0..colormode，colormode 的值为 1.0 或 255 (参见 colormode())。

  pencolor(r, g, b)
  设置画笔颜色为以 r, g, b 表示的 RGB 颜色。r, g, b 的取值范围应为 0..colormode。

  如果 turtleshape 为多边形，该多边形轮廓也以新设置的画笔颜色绘制。

turtle.fillcolor(*args)
返回或设置填充颜色。
允许以下四种输入格式:

  fillcolor()
  返回以颜色描述字符串或元组 (见示例) 表示的当前填充颜色。可用作其他 color/pencolor/fillcolor 调用的输入。

  fillcolor(colorstring)
  设置填充颜色为 colorstring 指定的 Tk 颜色描述字符串，例如 "red"、"yellow" 或 "#33cc8c"。

  fillcolor((r, g, b))
  设置填充颜色为以 r, g, b 元组表示的 RGB 颜色。r, g, b 的取值范围应为 0..colormode，colormode 的值为 1.0 或 255 (参见 colormode())。

  fillcolor(r, g, b)
  设置填充颜色为 r, g, b 表示的 RGB 颜色。r, g, b 的取值范围应为 0..colormode。

  如果 turtleshape 为多边形，该多边形内部也以新设置的填充颜色填充。

turtle.color(*args)
返回或设置画笔颜色和填充颜色。
允许多种输入格式。使用如下 0 至 3 个参数:

  color()
  返回以一对颜色描述字符串或元组表示的当前画笔颜色和填充颜色，两者可分别由 pencolor() 和 fillcolor() 返回。

  color(colorstring), color((r,g,b)), color(r,g,b)
  输入格式与 pencolor() 相同，同时设置填充颜色和画笔颜色为指定的值。

  color(colorstring1, colorstring2), color((r1,g1,b1), (r2,g2,b2))
  相当于 pencolor(colorstring1) 加 fillcolor(colorstring2)，使用其他输入格式的方法也与之类似。

  如果 turtleshape 为多边形，该多边形轮廓与填充也使用新设置的颜色。

填充

turtle.filling()
返回填充状态 (填充为 True，否则为 False)。

turtle.begin_fill()¶
在绘制要填充的形状之前调用。

turtle.end_fill()
填充上次调用 begin_fill() 之后绘制的形状。

自相交多边形或多个形状间的重叠区域是否填充取决于操作系统的图形引擎、重叠的类型以及重叠的层数。 
例如上面的 Turtle 多芒星可能会全部填充为黄色，也可能会有一些白色区域。
'''

''' 
海龟状态
  可见性
    turtle.hideturtle()
    turtle.ht()
    使海龟不可见。当你绘制复杂图形时这是个好主意，因为隐藏海龟可显著加快绘制速度。
  
    turtle.showturtle()
    turtle.st()
    使海龟可见。

    turtle.isvisible()
    如果海龟显示返回 True，如果海龟隐藏返回 False。
'''

import turtle

turtle.setup(600, 400)
turtle.screensize(200,100)
turtle.shape('turtle')

turtle.color("deep sky blue")

turtle.begin_fill()

turtle.fd(100)
turtle.lt(120)
turtle.fd(100)
turtle.lt(120)
turtle.fd(100)
turtle.lt(120)

turtle.end_fill()

# 隐藏画笔
turtle.ht()

''' 
turtle.clear()
从屏幕中删除指定海龟的绘图。不移动海龟。海龟的状态和位置以及其他海龟的绘图不受影响。
'''

''' 
turtle.goto(x, y=None)¶
turtle.setpos(x, y=None)
turtle.setposition(x, y=None)
参数
  x -- 一个数值或数值对/向量
  y -- 一个数值或 None
  如果 y 为 None，x 应为一个表示坐标的数值对或 Vec2D 类对象 (例如 pos() 返回的对象).

  海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。
'''

turtle.clear()

turtle.color("#f58f98")
turtle.begin_fill()

# turtle.goto(0, 0)
turtle.goto(100, 0)
turtle.goto(50, 85)
turtle.goto(0, 0)

turtle.end_fill()

turtle.ht()

turtle.clear()

''' 
turtle.circle(radius, extent=None, steps=None)
参数
  radius -- 一个数值
  extent -- 一个数值 (或 None)
  steps -- 一个整型数 (或 None)

  绘制一个 radius 指定半径的圆。圆心在海龟左边 radius 个单位；extent 为一个夹角，用来决定绘制圆的一部分。如未指定 extent*则绘制整个圆。如果 *extent 不是完整圆周，则以当前画笔位置为一个端点绘制圆弧。如果 radius 为正值则朝逆时针方向绘制圆弧，否则朝顺时针方向。最终海龟的朝向会依据 extent 的值而改变。
  圆实际是以其内切正多边形来近似表示的，其边的数量由 steps 指定。如果未指定边数则会自动确定。此方法也可用来绘制正多边形。
'''

# 设置y坐标
turtle.sety(-60)
turtle.circle(60)
turtle.ht()
turtle.clear()
''' 
绘制多边形
'''
turtle.rt(30)
turtle.circle(60,360,6)


